Apparatus for generating an augmented reality

ABSTRACT

In an aspect, an apparatus for generating an augmented reality is presented. An apparatus includes at least a processor and a memory communicatively connected to the at least a processor. A memory includes instructions configuring at least a processor to receive optical data through a sensing device in electronic communication with at least a processor. At least a processor is configured to generate an augmented reality view through a display device as a function of optical data. An augmented reality view includes a virtual avatar. At least a processor is configured to analyze at least an environmental element of optical data. At least a processor is configured to compare at least an environmental element to a priority threshold. At least a processor is configured to display at least a message through a display device as a function of a comparison.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of Non-provisional application Ser.No. 17/872,630, filed on Jul. 25, 2022, and entitled “AN APPARATUS FORGENERATING AN AUGMENTED REALITY,” the entirety of which is incorporatedherein by reference.

FIELD OF THE INVENTION

The present invention generally relates to the field of augmentedreality (AR). In particular, the present invention is directed to anapparatus for generating an augmented reality.

BACKGROUND

Modern augmented reality fails to provide informative data ofenvironments in an easy to understand presentation. As such, modernaugmented reality can be improved.

SUMMARY OF THE DISCLOSURE

In an aspect, an apparatus for generating an augmented reality ispresented. Apparatus includes at least a processor and a memorycommunicatively connected to the at least a processor. The memorycontains instructions configuring the at least a processor to receiveoptical data through a sensing device in electronic communication withthe at least a processor. The memory further contains instructions togenerate an augmented reality view through a display device of the atleast a processor as a function of the optical data, wherein theaugmented reality view includes a virtual avatar. The memory furthercontains instructions to analyze at least an environmental element ofthe optical data including, registering objects within optical datausing a machine vision system, determining the at least an environmentalelement as a function of the registration, and classifying the at leastan environmental element to an environmental category. The memoryfurther contains instructions to compare the at least an environmentalelement to a priority threshold and display at least a message throughthe display device of the at least a processor as a function of thecomparison.

In another aspect, a method of generating an augmented reality using acomputing device is presented. The method includes receiving opticaldata through a sensing device in electronic communication with the atleast a processor and generating an augmented reality view through adisplay device as a function of the optical data, wherein the augmentedreality view includes a virtual avatar. The method further includesanalyzing at least an environmental element of the optical dataincluding, registering objects within optical data using a machinevision system, determining the at least an environmental element as afunction of the registration, and classifying the at least anenvironmental element to an environmental category. The method furtherincludes comparing the at least an environmental element to a prioritythreshold and displaying at least a message through the display deviceas a function of the comparison.

These and other aspects and features of non-limiting embodiments of thepresent invention will become apparent to those skilled in the art uponreview of the following description of specific non-limiting embodimentsof the invention in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

For the purpose of illustrating the invention, the drawings show aspectsof one or more embodiments of the invention. However, it should beunderstood that the present invention is not limited to the precisearrangements and instrumentalities shown in the drawings, wherein:

FIG. 1 is a block diagram of an apparatus for generating an augmentedreality view;

FIG. 2 is an illustration of an augmented reality view;

FIG. 3 illustrates another augmented reality view;

FIG. 4 is an embodiment of a machine learning model;

FIG. 5 is a flow diagram of a method of generating an augmented realityview; and

FIG. 6 is a block diagram of a computing system that can be used toimplement any one or more of the methodologies disclosed herein and anyone or more portions thereof.

The drawings are not necessarily to scale and may be illustrated byphantom lines, diagrammatic representations and fragmentary views. Incertain instances, details that are not necessary for an understandingof the embodiments or that render other details difficult to perceivemay have been omitted.

DETAILED DESCRIPTION

At a high level, aspects of the present disclosure are directed toaugmented reality. In an embodiment, an apparatus for generating anaugmented reality view is presented.

Aspects of the present disclosure can be used to provide prioritizedinformation to a user through an easily digestible display. Aspects ofthe present disclosure can also be used to facilitate learning of one ormore skills. This is so, at least in part, because an augmented realityview may be customized for a variety of scenarios.

Aspects of the present disclosure allow for augmented reality viewsincluding virtual avatars. Exemplary embodiments illustrating aspects ofthe present disclosure are described below in the context of severalspecific examples.

Referring now to FIG. 1 , an exemplary embodiment of an apparatus 100for animating user data is presented. Apparatus 100 may include at leasta processor and a memory communicatively connected to the at least aprocessor. A memory may contain instructions configuring the at least aprocessor to perform various tasks. As used in this disclosure,“communicatively connected” means connected by way of a connection,attachment or linkage between two or more related which allows forreception and/or transmittance of information therebetween. For example,and without limitation, this connection may be wired or wireless, director indirect, and between two or more components, circuits, devices,systems, and the like, which allows for reception and/or transmittanceof data and/or signal(s) therebetween. Data and/or signals therebetweenmay include, without limitation, electrical, electromagnetic, magnetic,video, audio, radio and microwave data and/or signals, combinationsthereof, and the like, among others. A communicative connection may beachieved, for example and without limitation, through wired or wirelesselectronic, digital or analog, communication, either directly or by wayof one or more intervening devices or components. Further, communicativeconnection may include electrically coupling or connecting at least anoutput of one device, component, or circuit to at least an input ofanother device, component, or circuit. For example, and withoutlimitation, via a bus or other facility for intercommunication betweenelements of a computing device. Communicative connecting may alsoinclude indirect connections via, for example and without limitation,wireless connection, radio communication, low power wide area network,optical communication, magnetic, capacitive, or optical coupling, andthe like. In some instances, the terminology “communicatively coupled”may be used in place of communicatively connected in this disclosure.

Still referring to FIG. 1 , apparatus 100 may include a computingdevice. A computing device may include any computing device as describedin this disclosure, including without limitation a microcontroller,microprocessor, digital signal processor (DSP) and/or system on a chip(SoC) as described in this disclosure. A computing device may include,be included in, and/or communicate with a mobile device such as a mobiletelephone or smartphone. Apparatus 100 may include a single computingdevice operating independently, or may include two or more computingdevice operating in concert, in parallel, sequentially or the like; twoor more computing devices may be included together in a single computingdevice or in two or more computing devices. Apparatus 100 may interfaceor communicate with one or more additional devices as described below infurther detail via a network interface device. Network interface devicemay be utilized for connecting apparatus 100 to one or more of a varietyof networks, and one or more devices. Examples of a network interfacedevice include, but are not limited to, a network interface card (e.g.,a mobile network interface card, a LAN card), a modem, and anycombination thereof. Examples of a network include, but are not limitedto, a wide area network (e.g., the Internet, an enterprise network), alocal area network (e.g., a network associated with an office, abuilding, a campus or other relatively small geographic space), atelephone network, a data network associated with a telephone/voiceprovider (e.g., a mobile communications provider data and/or voicenetwork), a direct connection between two computing devices, and anycombinations thereof. A network may employ a wired and/or a wirelessmode of communication. In general, any network topology may be used.Information (e.g., data, software etc.) may be communicated to and/orfrom a computer and/or a computing device. Apparatus 100 may include butis not limited to, for example, a computing device or cluster ofcomputing devices in a first location and a second computing device orcluster of computing devices in a second location. Apparatus 100 mayinclude one or more computing devices dedicated to data storage,security, distribution of traffic for load balancing, and the like.Apparatus 100 may distribute one or more computing tasks as describedbelow across a plurality of computing devices of computing device, whichmay operate in parallel, in series, redundantly, or in any other mannerused for distribution of tasks or memory between computing devices.Apparatus 100 may be implemented using a “shared nothing” architecturein which data is cached at the worker, in an embodiment, this may enablescalability of system 100 and/or computing device.

With continued reference to FIG. 1 , apparatus 100 may be designedand/or configured to perform any method, method step, or sequence ofmethod steps in any embodiment described in this disclosure, in anyorder and with any degree of repetition. For instance, apparatus 100 maybe configured to perform a single step or sequence repeatedly until adesired or commanded outcome is achieved; repetition of a step or asequence of steps may be performed iteratively and/or recursively usingoutputs of previous repetitions as inputs to subsequent repetitions,aggregating inputs and/or outputs of repetitions to produce an aggregateresult, reduction or decrement of one or more variables such as globalvariables, and/or division of a larger processing task into a set ofiteratively addressed smaller processing tasks. Apparatus 100 mayperform any step or sequence of steps as described in this disclosure inparallel, such as simultaneously and/or substantially simultaneouslyperforming a step two or more times using two or more parallel threads,processor cores, or the like; division of tasks between parallel threadsand/or processes may be performed according to any protocol suitable fordivision of tasks between iterations. Persons skilled in the art, uponreviewing the entirety of this disclosure, will be aware of various waysin which steps, sequences of steps, processing tasks, and/or data may besubdivided, shared, or otherwise dealt with using iteration, recursion,and/or parallel processing.

Still referring to FIG. 1 , apparatus 100 may be configured to receiveoptical data 108 from sensing device 104. A “sensing device” as used inthis disclosure is a device that detects natural one or more physicaland/or energetic signals and/or phenomena and converts the one or morephysical and/or energetic signals and/or phenomena into electronicsignals. Sensing device 104 may include, but is not limited to, cameras,infrared sensors, lidar sensor, radar sensors, photodetectors, vibrationand/or audio sensors, temperature sensors, sensors of electricalphenomena, electromagnetic phenomena, or the like, force, load,pressure, and/or displacement sensors, any component or device thattransduces physical and/or energetic signals and/or phenomena intoelectric signals, or any homogeneous or heterogeneous combination of anyof the above into arrays, batteries, or the like. In some embodiments,sensing device 104 may include one or more depth sensors. Sensing device104 may be in electronic communication with apparatus 100. “Electroniccommunication” as used throughout this disclosure is a form of dataconnection between two or more devices. Sensing device 104 may transmitoptical data 108 to apparatus 100. “Optical data” as used throughoutthis disclosure is data obtained by and/or derived from, capture oflight emitted, reflected, and/or refracted from, off, or through objectsexterior to a sensing device. “Visual elements” as used in thisdisclosure are elements of data relating to sight. Visual elements mayinclude, without limitation, color, motion, contrast, sharpness, and thelike. Optical data 108 may include data such as, but not limited to,exposure, color, contrast, brightness, sharpness, motion, depth, and thelike thereof. Optical data 108 may include information of one or moreparts of a surrounding environment of sensing device 104 and/orapparatus 100.

Still referring to FIG. 1 , as used in this disclosure, a “camera” is adevice that is configured to sense electromagnetic radiation, such aswithout limitation visible light, and generate an image representing theelectromagnetic radiation. In some cases, a camera may include one ormore optics. Exemplary non-limiting optics include spherical lenses,aspherical lenses, reflectors, polarizers, filters, windows, aperturestops, and the like. In some cases, at least a camera may include animage sensor. Exemplary non-limiting image sensors include digital imagesensors, such as without limitation charge-coupled device (CCD) sensorsand complimentary metal-oxide-semiconductor (CMOS) sensors, chemicalimage sensors, and analog image sensors, such as without limitationfilm. In some cases, a camera may be sensitive within a non-visiblerange of electromagnetic radiation, such as without limitation infrared.As used in this disclosure, “image data” is information representing atleast a physical scene, space, and/or object. In some cases, image datamay be generated by a camera. “Image data” may be used interchangeablythrough this disclosure with “image,” where image is used as a noun. Animage may be optical, such as without limitation where at least an opticis used to generate an image of an object. An image may be material,such as without limitation when film is used to capture an image. Animage may be digital, such as without limitation when represented as abitmap. Alternatively, an image may be comprised of any media capable ofrepresenting a physical scene, space, and/or object. Alternatively where“image” is used as a verb, in this disclosure, it refers to generationand/or formation of an image. Optical data 108 may include image data asdescribed above, without limitation.

Still referring to FIG. 1 , in some embodiments, apparatus 100 mayinclude a machine vision system. A “machine vision system” as usedthroughout this disclosure is a module, component, or device that allowsa computing device to analyze visual and/or optical data regardingand/or captured from an environment A machine vision system may useimages from a camera, to make a determination about a scene, space,and/or object. For example, in some cases a machine vision system may beused for world modeling or registration of objects within a space. Insome cases, registration may include image processing, such as withoutlimitation object recognition, feature detection, edge/corner detection,and the like. Non-limiting example of feature detection may includescale invariant feature transform (SIFT), Canny edge detection, ShiTomasi corner detection, and the like. In some cases, registration mayinclude one or more transformations to orient a camera frame (or animage or video stream) relative a three-dimensional coordinate system;exemplary transformations include without limitation homographytransforms and affine transforms. In an embodiment, registration offirst frame to a coordinate system may be verified and/or correctedusing object identification and/or computer vision, as described above.For instance, and without limitation, an initial registration to twodimensions, represented for instance as registration to the x and ycoordinates, may be performed using a two-dimensional projection ofpoints in three dimensions onto a first frame, however. A thirddimension of registration, representing depth and/or a z axis, may bedetected by comparison of two frames; for instance, where first frameincludes a pair of frames captured using a pair of cameras (e.g.,stereoscopic camera also referred to in this disclosure asstereo-camera), image recognition and/or edge detection software may beused to detect a pair of stereoscopic views of images of an object; twostereoscopic views may be compared to derive z-axis values of points onobject permitting, for instance, derivation of further z-axis pointswithin and/or around the object using interpolation. This may berepeated with multiple objects in field of view, including withoutlimitation environmental features of interest identified by objectclassifier and/or indicated by an operator. In an embodiment, x and yaxes may be chosen to span a plane common to two cameras used forstereoscopic image capturing and/or an xy plane of a first frame; aresult, x and y translational components and q may be pre-populated intranslational and rotational matrices, for affine transformation ofcoordinates of object, also as described above. Initial x and ycoordinates and/or guesses at transformational matrices mayalternatively or additionally be performed between first frame andsecond frame, as described above. For each point of a plurality ofpoints on object and/or edge and/or edges of object as described above,x and y coordinates of a first stereoscopic frame may be populated, withan initial estimate of z coordinates based, for instance, on assumptionsabout object, such as an assumption that ground is substantiallyparallel to an xy plane as selected above. Z coordinates, and/or x, y,and z coordinates, registered using image capturing and/or objectidentification processes as described above may then be compared tocoordinates predicted using initial guess at transformation matrices; anerror function may be computed using by comparing the two sets ofpoints, and new x, y, and/or z coordinates, may be iteratively estimatedand compared until the error function drops below a threshold level. Insome cases, a machine vision system may use a classifier, such as anyclassifier described throughout this disclosure.

Still referring to FIG. 1 , an exemplary range-imaging camera that maybe included in sensing device 104 is Intel® RealSense™ D430 Module, fromIntel® of Mountainview, California, U.S.A. D430 Module comprises activeinfrared (IR) illumination and a stereoscopic camera, having globalshutters and frame rate of up to 90 fps. D430 Module provide a field ofview (FOV) of 85.2° (horizontal) by 58° (vertical) and an imageresolution of 1280×720. Range-sensing camera may be operatedindependently by dedicated hardware or, in some cases, range-sensingcamera may be operated by a computing device. In some cases,range-sensing camera may include software and firmware resources (forexecution on hardware, such as without limitation dedicated hardware ora computing device). D430 Module may be operating using softwareresources including Intel® RealSense™ SDK 2.0, which include opensourcecross platform libraries. An exemplary machine vision camera that may beincluded in sensing device 104 is an OpenMV Cam H7 from OpenMV, LLC ofAtlanta, Georgia, U.S.A. OpenMV Cam comprises a small, low power,microcontroller which allows execution of machine vision applications.OpenMV Cam comprises an ARM Cortex M7 processor and a 640×480 imagesensor operating at a frame rate up to 150 fps. OpenMV Cam may beprogrammed with Python using a Remote Python/Procedure Call (RPC)library. OpenMV CAM may be used to operate image classification andsegmentation models, such as without limitation by way of TensorFlowLite; detection motion, for example by way of frame differencingalgorithms; marker detection, for example blob detection; objectdetection, for example face detection; eye tracking; person detection,for example by way of a trained machine learning model; camera motiondetection, for example by way of optical flow detection; code (barcode)detection and decoding; image capture; and video recording.

Still referring to FIG. 1 , in some embodiments, sensing device 104 mayinclude a stereo-camera. As used in this disclosure, a “stereo-camera”is a camera that senses two or more images from two or more vantages. Asused in this disclosure, a “vantage” is a location of a camera relativea scene, space and/or object which the camera is configured to sense. Insome cases, a stereo-camera may determine depth of an object in a sceneas a function of parallax. As used in this disclosure, “parallax” is adifference in perceived location of a corresponding object in two ormore images. An exemplary stereo-camera is TaraXL from e-con Systems,Inc of San Jose, California. TaraXL is a USB 3.0 stereo-camera which isoptimized for NVIDIA® Jetson AGX Xavier™/Jetson™ TX2 and NVIDIA GPUCards. TaraXL's accelerated Software Development Kit (TaraXL SDK) iscapable of doing high quality 3D depth mapping of WVGA at a rate of upto 60 frames per second. TaraXL is based on MT9V024 stereo sensor fromON Semiconductor. Additionally, TaraXL includes a global shutter, houses6 inertial measurement units (IMUs), and allows mounting of optics byway of an S-mount lens holder. TaraXL may operate at depth ranges ofabout 50 cm to about 300 cm.

Still referring to FIG. 1 , in some embodiments, apparatus 100 may beconfigured to generate augmented reality (AR) view 112. An “augmentedreality view” as used in this disclosure is an augmented display ofvirtual content mixed with visual and/or optical data of surroundings ofa sensor, which visual or optical data may be displayed to provide anapparently real view of surroundings analogous to that seen by a personwithout assistance of a device; augmented reality view may thus createan illusive effect whereby virtual content appears to be part of, and/orto be interacting with, visual and/or optical data and/or phenomenarepresented thereby. Real surroundings may include, but are not limitedto, parks, offices, rooms, garages, shops, restaurants, streets, cities,and the like. AR view 112 may include, but is not limited to,location-based AR, projection based AR, overlay AR, marker-based AR,marker-less AR, and/or contour AR, without limitation. Apparatus 100 maygenerate AR view 112 through any machine vision process as describedabove. In some embodiments, apparatus 100 may generate AR view 112through, but not limited to, a web portal, mobile application, and/orthrough a cloud-computing network. Apparatus 100 may communicate and/ordisplay AR view 112 through display device 132. A “display device” asused throughout this disclosure is a device having a content showingportion. A “content showing portion” as used in this disclosure is asection of a display that conveys information, for instance and withoutlimitation using displays as described in this disclosure. Displaydevice 132 may include, but is not limited to, smartphones, tablets,laptops, monitors, headsets, glasses, and the like.

Still referring to FIG. 1 , AR view 112 may include one or more virtualicons. A “virtual icon” as used throughout this disclosure is a graphicdisplayed on a screen. Virtual icons may include, but are not limitedto, text boxes, characters, menus, navigation markers, and the like. Insome embodiments, a virtual icon may include a three-dimensional (3D)icon. A “three-dimensional icon” as used in this disclosure is a graphicdisplayed as having x, y, and z coordinates. 3D icons may include, butare not limited to, arrows, characters, object representations, and thelike. Apparatus 100 may generate a digital coordinate system that mayrepresent a real-world coordinate system, such as using a machine visionprocess as described above. Apparatus 100 may position one or morevirtual icons in a digital coordinate system which may correspond toreal-world locations. Apparatus 100 may modify a virtual icon'scoordinate system, width, length, height, and the like, which maymaintain a real world visual aspect. A “real world visual aspect” asused throughout this disclosure is a perspective view of an entityand/or object of a virtual icon that simulates real world movement. Insome embodiments, AR view 112 may display one or more virtual icons thatmay move across a screen relative to a real-world location. For instanceand without limitation, a virtual icon representing a box may bedisplayed in AR view 112 across a screen. A user may move in the realworld, and the virtual box may move across a screen relative to theuser's movement, appearing on a screen as though the virtual box has notmoved relative to the user's movement. Continuing this example, a usermay move closer to the virtual box, to which AR view 112 may display thevirtual box as bigger on a screen, and smaller if a user moves furtheraway from the virtual box. One of ordinary skill in the art, uponreading this disclosure, will appreciate the ways in which virtualobjects may be displayed in augmented reality. “Virtual objects” as usedin this disclosure are graphics, entities, and/or icons generated from acomputer memory. Virtual objects may be generated from received opticaland/or visual data stored in a memory. This is different toreproductions of currently captured and/or received optical and/orvisual data. Virtual objects may modify a view of a surrounding insteadof simply recreating a view of a surrounding.

Still referring to FIG. 1 , in some embodiments, optical data 108 mayinclude text data. “text data” as used throughout this disclosure isinformation relating to semantics. Text data may include but is notlimited to, fonts, sizes, characters, strings, words, phrases,exclamations, and the like. For instance and without limitation, opticaldata 108 may include text data which may include nutritional informationof a bag of chips. Apparatus 100 may determine text data using alanguage processing module. A “language processing module” as used inthis disclosure is a computer process that analyzes semantic data.Language processing module may include any hardware and/or softwaremodule. Language processing module may be configured to extract, fromthe one or more documents, one or more words. One or more words mayinclude, without limitation, strings of one or more characters,including without limitation any sequence or sequences of letters,numbers, punctuation, diacritic marks, engineering symbols, geometricdimensioning and tolerancing (GD&T) symbols, chemical symbols andformulas, spaces, whitespace, and other symbols, including any symbolsusable as textual data as described above. Textual data may be parsedinto tokens, which may include a simple word (sequence of lettersseparated by whitespace) or more generally a sequence of characters asdescribed previously. The term “token,” as used herein, refers to anysmaller, individual groupings of text from a larger source of text;tokens may be broken up by word, pair of words, sentence, or otherdelimitation. These tokens may in turn be parsed in various ways.Textual data may be parsed into words or sequences of words, which maybe considered words as well. Textual data may be parsed into “n-grams”,where all sequences of n consecutive characters are considered. Any orall possible sequences of tokens or words may be stored as “chains”, forexample for use as a Markov chain or Hidden Markov Model.

Still referring to FIG. 1 , language processing module may operate toproduce a language processing model. Language processing model mayinclude a program automatically generated by computing device and/orlanguage processing module to produce associations between one or morewords extracted from at least a document and detect associations,including without limitation mathematical associations, between suchwords. Associations between language elements, where language elementsinclude for purposes herein extracted words, relationships of suchcategories to other such term may include, without limitation,mathematical associations, including without limitation statisticalcorrelations between any language element and any other language elementand/or language elements. Statistical correlations and/or mathematicalassociations may include probabilistic formulas or relationshipsindicating, for instance, a likelihood that a given extracted wordindicates a given category of semantic meaning. As a further example,statistical correlations and/or mathematical associations may includeprobabilistic formulas or relationships indicating a positive and/ornegative association between at least an extracted word and/or a givensemantic meaning; positive or negative indication may include anindication that a given document is or is not indicating a categorysemantic meaning. Whether a phrase, sentence, word, or other textualelement in a document or corpus of documents constitutes a positive ornegative indicator may be determined, in an embodiment, by mathematicalassociations between detected words, comparisons to phrases and/or wordsindicating positive and/or negative indicators that are stored in memoryat computing device, or the like.

Still referring to 1, language processing module and/or diagnosticengine may generate the language processing model by any suitablemethod, including without limitation a natural language processingclassification algorithm; language processing model may include anatural language process classification model that enumerates and/orderives statistical relationships between input terms and output terms.Algorithm to generate language processing model may include a stochasticgradient descent algorithm, which may include a method that iterativelyoptimizes an objective function, such as an objective functionrepresenting a statistical estimation of relationships between terms,including relationships between input terms and output terms, in theform of a sum of relationships to be estimated. In an alternative oradditional approach, sequential tokens may be modeled as chains, servingas the observations in a Hidden Markov Model (HMM). HMMs as used hereinare statistical models with inference algorithms that that may beapplied to the models. In such models, a hidden state to be estimatedmay include an association between an extracted words, phrases, and/orother semantic units. There may be a finite number of categories towhich an extracted word may pertain; an HMM inference algorithm, such asthe forward-backward algorithm or the Viterbi algorithm, may be used toestimate the most likely discrete state given a word or sequence ofwords. Language processing module may combine two or more approaches.For instance, and without limitation, machine-learning program may use acombination of Naive-Bayes (NB), Stochastic Gradient Descent (SGD), andparameter grid-searching classification techniques; the result mayinclude a classification algorithm that returns ranked associations.

Continuing to refer to FIG. 1 , generating language processing model mayinclude generating a vector space, which may be a collection of vectors,defined as a set of mathematical objects that can be added togetherunder an operation of addition following properties of associativity,commutativity, existence of an identity element, and existence of aninverse element for each vector, and can be multiplied by scalar valuesunder an operation of scalar multiplication compatible with fieldmultiplication, and that has an identity element is distributive withrespect to vector addition, and is distributive with respect to fieldaddition. Each vector in an n-dimensional vector space may berepresented by an n-tuple of numerical values. Each unique extractedword and/or language element as described above may be represented by avector of the vector space. In an embodiment, each unique extractedand/or other language element may be represented by a dimension ofvector space; as a non-limiting example, each element of a vector mayinclude a number representing an enumeration of co-occurrences of theword and/or language element represented by the vector with another wordand/or language element. Vectors may be normalized, scaled according torelative frequencies of appearance and/or file sizes. In an embodimentassociating language elements to one another as described above mayinclude computing a degree of vector similarity between a vectorrepresenting each language element and a vector representing anotherlanguage element; vector similarity may be measured according to anynorm for proximity and/or similarity of two vectors, including withoutlimitation cosine similarity, which measures the similarity of twovectors by evaluating the cosine of the angle between the vectors, whichcan be computed using a dot product of the two vectors divided by thelengths of the two vectors. Degree of similarity may include any othergeometric measure of distance between vectors.

Still referring to FIG. 1 , language processing module may use a corpusof documents to generate associations between language elements in alanguage processing module, and diagnostic engine may then use suchassociations to analyze words extracted from one or more documents anddetermine that the one or more documents indicate significance of acategory. In an embodiment, language module and/or apparatus 100 mayperform this analysis using a selected set of significant documents,such as documents identified by one or more experts as representing goodinformation; experts may identify or enter such documents via graphicaluser interface, or may communicate identities of significant documentsaccording to any other suitable method of electronic communication, orby providing such identity to other persons who may enter suchidentifications into apparatus 100. Documents may be entered into acomputing device by being uploaded by an expert or other persons using,without limitation, file transfer protocol (FTP) or other suitablemethods for transmission and/or upload of documents; alternatively oradditionally, where a document is identified by a citation, a uniformresource identifier (URI), uniform resource locator (URL) or other datumpermitting unambiguous identification of the document, diagnostic enginemay automatically obtain the document using such an identifier, forinstance by submitting a request to a database or compendium ofdocuments such as JSTOR as provided by Ithaka Harbors, Inc. of New York.

Still referring to FIG. 1 , apparatus 100 may utilize a languageprocessing module as described above to extrapolate text data fromoptical data 108. Apparatus 100 may display text data through AR view112. Displaying text data may include displaying virtual textinterpreted from text found in optical data 108. For instance andwithout limitation, optical data 108 may include a street sign.Apparatus 100 may determine text data from the street sign and displaythe text on the street sign in a more readable virtual format.

Still referring to FIG. 1 , apparatus 100 may determine environmentalelement 120 from optical data 108. An “environmental element” as used inthis disclosure is a datum relating to a surrounding of an object and/orindividual. Environmental element 120 may include, without limitation,objects, vehicles, individuals, signs, buildings, offices, and the like.Apparatus 100 may determine environmental element 120 using a machinevision process as described above. In some embodiments, apparatus 100may determine environmental element 120 as a function of anenvironmental element machine learning model. An environmental elementmachine learning model may be trained with training data correlatingoptical data to one or more environmental elements. Training data may bereceived through user input, external computing devices, and/or previousiterations of processing. An environmental element machine learningmodel may be configured to input optical data and output environmentalelements. In some embodiments, apparatus 100 may classify one or moreelements of environmental element 120 to an environmental category. An“environmental category” as used in this disclosure is a classificationof environment data to one or more groups. Environmental categories mayinclude, without limitation, cars, trucks, bicycles, individuals, fooditems, electronics, trees, animals, and the like. In some embodiments,apparatus 100 may use an environmental element classifier to classifyenvironmental elements to one or more environmental categories. Anenvironmental classifier may be trained with training data correlatingenvironmental elements to one or more environmental categories. Trainingdata may be received from user input, external computing devices, and/orprevious iterations of processing.

Still referring to FIG. 1 , apparatus 100 may utilize a feature learningalgorithm to determine environmental element 120. A “feature learningalgorithm,” as used herein, is a machine-learning algorithm thatidentifies associations between elements of data in a data set, whichmay include without limitation a training data set, where particularoutputs and/or inputs are not specified. For instance, and withoutlimitation, a feature learning algorithm may detect co-occurrences ofsets of environmental elements and/or optical data 108, as definedabove, with each other. As a non-limiting example, feature learningalgorithm may detect co-occurrences of environmental elements, asdefined above, with each other. Apparatus 100 may perform a featurelearning algorithm by dividing environmental data from optical data intovarious sub-combinations of such data to create environmental elementdata sets as described above, and evaluate which environmental elementdata sets tend to co-occur with which other environmental element datasets; for instance, where environmental element data includes products,apparatus 100 may divide each environmental element data into individualproducts and evaluate which individual products and/or combinationsthereof tend to co-occur with which other individual products, and/orother environmental element data. In an embodiment, a first featurelearning algorithm may perform clustering of data.

Continuing refer to FIG. 1 , a feature learning and/or clusteringalgorithm may be implemented, as a non-limiting example, using a k-meansclustering algorithm. A “k-means clustering algorithm” as used in thisdisclosure, includes cluster analysis that partitions n observations orunclassified cluster data entries into k clusters in which eachobservation or unclassified cluster data entry belongs to the clusterwith the nearest mean, using, for instance behavioral training set asdescribed above. “Cluster analysis” as used in this disclosure, includesgrouping a set of observations or data entries in way that observationsor data entries in the same group or cluster are more similar to eachother than to those in other groups or clusters. Cluster analysis may beperformed by various cluster models that include connectivity modelssuch as hierarchical clustering, centroid models such as k-means,distribution models such as multivariate normal distribution, densitymodels such as density-based spatial clustering of applications withnose (DBSCAN) and ordering points to identify the clustering structure(OPTICS), subspace models such as biclustering, group models,graph-based models such as a clique, signed graph models, neural models,and the like. Cluster analysis may include hard clustering whereby eachobservation or unclassified cluster data entry belongs to a cluster ornot. Cluster analysis may include soft clustering or fuzzy clusteringwhereby each observation or unclassified cluster data entry belongs toeach cluster to a certain degree such as for example a likelihood ofbelonging to a cluster; for instance, and without limitation, a fuzzyclustering algorithm may be used to identify clustering of genecombinations with multiple disease states, and vice versa. Clusteranalysis may include strict partitioning clustering whereby eachobservation or unclassified cluster data entry belongs to exactly onecluster. Cluster analysis may include strict partitioning clusteringwith outliers whereby observations or unclassified cluster data entriesmay belong to no cluster and may be considered outliers. Clusteranalysis may include overlapping clustering whereby observations orunclassified cluster data entries may belong to more than one cluster.Cluster analysis may include hierarchical clustering wherebyobservations or unclassified cluster data entries that belong to a childcluster also belong to a parent cluster.

With continued reference to FIG. 1 , apparatus 100 may generate ak-means clustering algorithm receiving unclassified optical data andoutputs a definite number of classified environmental element data entryclusters wherein the data entry clusters each contain cluster dataentries. K-means algorithm may select a specific number of groups orclusters to output, identified by a variable “k.” Generating a k-meansclustering algorithm includes assigning inputs containing unclassifieddata to a “k-group” or “k-cluster” based on feature similarity.Centroids of k-groups or k-clusters may be utilized to generateclassified data entry cluster. K-means clustering algorithm may selectand/or be provided “k” variable by calculating k-means clusteringalgorithm for a range of k values and comparing results. K-meansclustering algorithm may compare results across different values of k asthe mean distance between cluster data entries and cluster centroid.K-means clustering algorithm may calculate mean distance to a centroidas a function of k value, and the location of where the rate of decreasestarts to sharply shift, this may be utilized to select a k value.Centroids of k-groups or k-cluster include a collection of featurevalues which are utilized to classify data entry clusters containingcluster data entries. K-means clustering algorithm may act to identifyclusters of closely related environmental element data, which may beprovided with object labels; this may, for instance, generate an initialset of object labels from an initial set of environmental element dataof a large number of objects, and may also, upon subsequent iterations,identify new clusters to be provided new object labels, to whichadditional environmental element data may be classified, or to whichpreviously used environmental element data may be reclassified.

With continued reference to FIG. 1 , generating a k-means clusteringalgorithm may include generating initial estimates for k centroids whichmay be randomly generated or randomly selected from unclassified datainput. K centroids may be utilized to define one or more clusters.K-means clustering algorithm may assign unclassified data to one or morek-centroids based on the squared Euclidean distance by first performinga data assigned step of unclassified data. K-means clustering algorithmmay assign unclassified data to its nearest centroid based on thecollection of centroids ci of centroids in set C. Unclassified data maybe assigned to a cluster based on argmin_(ci∃C) dist(ci,x)², whereargmin includes argument of the minimum, ci includes a collection ofcentroids in a set C, and dist includes standard Euclidean distance.K-means clustering module may then recompute centroids by taking mean ofall cluster data entries assigned to a centroid's cluster. This may becalculated based on ci−1/|Si|Σxi∃Si^(xi). K-means clustering algorithmmay continue to repeat these calculations until a stopping criterion hasbeen satisfied such as when cluster data entries do not change clusters,the sum of the distances have been minimized, and/or some maximum numberof iterations has been reached.

Still referring to FIG. 1 , k-means clustering algorithm may beconfigured to calculate a degree of similarity index value. A “degree ofsimilarity index value” as used in this disclosure, includes a distancemeasurement indicating a measurement between each data entry clustergenerated by k-means clustering algorithm and a selected environmentalelement data set. Degree of similarity index value may indicate howclose a particular combination of environmental elements, productsand/or optical data is to being classified by k-means algorithm to aparticular cluster. K-means clustering algorithm may evaluate thedistances of the combination of environmental elements, products and/oroptical data to the k-number of clusters output by k-means clusteringalgorithm. Short distances between a set of environmental element dataand a cluster may indicate a higher degree of similarity between the setof environmental element data and a particular cluster. Longer distancesbetween a set of environmental element data and a cluster may indicate alower degree of similarity between an environmental element data set anda particular cluster.

With continued reference to FIG. 1 , k-means clustering algorithmselects a classified data entry cluster as a function of the degree ofsimilarity index value. In an embodiment, k-means clustering algorithmmay select a classified data entry cluster with the smallest degree ofsimilarity index value indicating a high degree of similarity between anenvironmental element data set and the data entry cluster. Alternativelyor additionally k-means clustering algorithm may select a plurality ofclusters having low degree of similarity index values to environmentalelement data sets, indicative of greater degrees of similarity. Degreeof similarity index values may be compared to a threshold numberindicating a minimal degree of relatedness suitable for inclusion of aset of environmental data in a cluster, where degree of similarityindices a-n falling under the threshold number may be included asindicative of high degrees of relatedness. The above-describedillustration of feature learning using k-means clustering is includedfor illustrative purposes only, and should not be construed as limitingpotential implementation of feature learning algorithms; persons skilledin the art, upon reviewing the entirety of this disclosure, will beaware of various additional or alternative feature learning approachesthat may be used consistently with this disclosure.

Still referring to FIG. 1 , in some embodiments, apparatus 100 maydisplay an identifying element of environmental element 120 through ARview 112. An “identifying element” as used in this disclosure is avisual indicator displayed on a screen. An identifying element mayinclude, but is not limited to, highlighting a border of environmentalelement 120 in AR view 112, displaying an arrow denoting a position ofenvironmental element 120 in AR view 112, and the like. For instance andwithout limitation, environmental element 120 may include a dollar.Apparatus 100 may highlight a digital border of the real world dollarshown through AR view 112. In some embodiments, apparatus 100 maycompare environmental element 120 to priority threshold 124. A “prioritythreshold” as used in this disclosure is a value and/or range of valuesconstraining a prioritization of data. Priority threshold 124 mayinclude one or more numbers, such as, without limitation, “0”, “1”, “5”,“10”, and the like. Apparatus may generate priority threshold 124 as afunction of an object of interest. An “object of interest” as used inthis disclosure is an object having a high importance relative to anindividual and/or objective. For instance and without limitation, anobject of interest may include shoes, coins, coffee cups, headphones,and the like. Objects of interest may be determined through user inputand/or by apparatus 100 through processing. Apparatus 100 may denotevarying priority values to various objects of interest. As anon-limiting example, a pair of shoes may have a priority value of “1”,while a wallet may have a priority value of “5”, where a higher valueequates to a higher priority. Apparatus 100 may determine a priorityvalue of one or more objects of interest by comparing a relativeimportance of the objects to a user objective. A “user objective” asused throughout this disclosure is a goal of an individual. Userobjectives may include, but are not limited to, travelling distances,retrieving items, acquiring items, distributing items, learning sportsskills, learning languages, and the like. Apparatus 100 may receive auser objective through user input, external computing devices, and/orcalculate a user objective for a user as a function of user data.Apparatus 100 may determine a relative importance of objects through anymachine learning process as described throughout this disclosure,without limitation.

Still referring to FIG. 1 , apparatus 100 may generate an objectivefunction to compare environmental element 120 with priority threshold124. An “objective function” as used in this disclosure is a process ofminimizing or maximizing one or more values based on a set ofconstraints. In some embodiments, an objective function may include anoptimization criterion. An optimization criterion may include anydescription of a desired value or range of values for one or moreattributes of entity data; desired value or range of values may includea maximal or minimal value, a range between maximal or minimal values,or an instruction to maximize or minimize a diagnostic criterion. As anon-limiting example, an optimization criterion may specify thatenvironmental element 120 should be within a 10% difference of apriority threshold 124; an optimization criterion may cap a differenceof environmental element 120 and priority threshold 124, for instancespecifying that environmental element 120 must not have a differencefrom priority threshold 124 greater than a specified value. Anoptimization criterion may specify one or more tolerances fordifferences in priority thresholds 124 and/or environmental element 120.An optimization criterion may specify one or more criterion for prioritythreshold 124. In an embodiment, an optimization criterion may assignweights to different environmental element data or values associatedwith environmental elements; weights, as used herein, may be multipliersor other scalar numbers reflecting a relative importance of a particulardatum or value. One or more weights may be expressions of value to auser of a particular outcome, user objective importance, or other facetof a comparison process. As a non-limiting example, minimization of lowimportance may be multiplied by a first weight, while tolerance above acertain value may be multiplied by a second weight. Optimizationcriteria may be combined in weighted or unweighted combinations into afunction reflecting an overall outcome desired by a user; a function maybe an environmental element data classification function to be minimizedand/or maximized. A function may be defined by reference toenvironmental element classification criteria constraints and/orweighted aggregation thereof as provided by apparatus 100; for instance,an environmental element classification function combining optimizationcriteria may seek to minimize or maximize a function of a comparisonprocess of environmental element data.

Still referring to FIG. 1 , generation of an objective function mayinclude generation of a function to score and weight factors to achievea priority score for each feasible pairing. In some embodiments,pairings may be scored in a matrix for optimization, where columnsrepresent environmental elements and rows represent priority scorespotentially paired therewith; each cell of such a matrix may represent ascore of a pairing of the corresponding environmental element to thecorresponding priority score. In some embodiments, assigning a predictedprocess that optimizes the objective function includes performing agreedy algorithm process. A “greedy algorithm” is defined as analgorithm that selects locally optimal choices, which may or may notgenerate a globally optimal solution. For instance, apparatus 100 mayselect pairings so that scores associated therewith are the best scorefor each testing datum match and/or for each diagnosis criterionthreshold. In such an example, optimization may determine thecombination of environmental element matches such that each priorityscore pairing includes the highest score possible.

Still referring to FIG. 1 , an objective function may be formulated as alinear objective function. Apparatus 100 may solve an objective functionusing a linear program such as without limitation a mixed-integerprogram. A “linear program,” as used in this disclosure, is a programthat optimizes a linear objective function, given at least a constraint.For instance, and without limitation, objective function may seek tomaximize a total score Σ_(rϵR)Σ_(sϵS)c_(rs)x_(rs), where R is a set ofall environmental elements r, S is a set of all priority scores s,c_(rs) is a score of a pairing of a given environmental element with agiven priority score, and x_(rs) is 1 if an environmental element r ispaired with a priority score s, and 0 otherwise. Continuing the example,constraints may specify that each environmental element is assigned toonly one priority score, and each priority score is assigned only oneenvironmental element. Environmental elements and priority scores mayinclude environmental elements and priority scores as described above.Sets of priority scores may be optimized for a maximum score combinationof all generated priority scores. In various embodiments, apparatus 100may determine a combination of environmental elements that maximizes atotal score subject to a constraint that all environmental elements arepaired to exactly one priority score. Not all priority scores mayreceive an environmental element pairing since each priority score mayonly produce one environmental element. In some embodiments, anobjective function may be formulated as a mixed integer optimizationfunction. A “mixed integer optimization” as used in this disclosure is aprogram in which some or all of the variables are restricted to beintegers. A mathematical solver may be implemented to solve for the setof feasible pairings that maximizes the sum of scores across allpairings; mathematical solver may be implemented on apparatus 100 and/oranother device, and/or may be implemented on third-party solver.

With continued reference to FIG. 1 , optimizing an objective functionmay include minimizing a loss function, where a “loss function” is anexpression an output of which an optimization algorithm minimizes togenerate an optimal result. As a non-limiting example, apparatus 100 mayassign variables relating to a set of parameters, which may correspondto score environmental elements as described above, calculate an outputof mathematical expression using the variables, and select a pairingthat produces an output having the lowest size, according to a givendefinition of “size,” of the set of outputs representing each ofplurality of plurality score combinations; size may, for instance,included absolute value, numerical size, or the like. Selection ofdifferent loss functions may result in identification of differentpotential pairings as generating minimal outputs. Objectives representedin an objective function and/or loss function may include minimizationof differences between environmental elements and a priority score.Objectives may include minimization of low priority scores.

Still referring to FIG. 1 , in some embodiments, apparatus 100 maygenerate virtual avatar 116 and display virtual avatar 116 through ARview 112. A “virtual avatar” as used in this disclosure is any digitalcreation displayed through a screen. Digital creations may include, butare not limited to, digital entities, virtual objects, and the like.Virtual avatar 116 may include, without limitation, two-dimensionalrepresentations of animals and/or human characters, three-dimensionalrepresentations of animals and/or human characters, and the like. Forinstance and without limitation, virtual avatar 116 may includepenguins, wolves, tigers, frogs, young human characters, old humancharacters, middle-aged human characters, and the like. In someembodiments, virtual avatar 112 may include clothing, apparel, and/orother items. Clothing may include, but is not limited to, jackets,pants, shirts, shorts, suits, ties, and the like. Apparel may include,but is not limited to, skis, ski goggles, baseball mitts, tennisrackets, suitcases, and the like. Virtual avatar 116 may be generated asa function of user input. For instance and without limitation, apparatus100 may generate virtual avatar 116 through user selection of a menu ofvirtual avatars 116 presented to a user. Virtual avatar 116 may becustomizable through user input received at apparatus 100. Apparatus 100may generate one or more character creation screens, clothing screens,and/or other changeable attributes of virtual avatar 116 through AR view112. For instance and without limitation, AR view 112 may display acharacter selection screen, which may include a character type, clothingtype, facial hair type, hair type, facial expression type, and/or otherattributes of virtual avatar 116. In some embodiments, apparatus 100 maygenerate virtual avatar 116 as a function of a user objective. Forinstance and without limitation, a user objective may include a goal ofmaking a peanut butter and jelly sandwich, to which apparatus 100 maygenerate virtual avatar 112 to include a 3D dog dressed as a chef.

Still referring to FIG. 1 , apparatus 100 may generate virtual avatar116 to respond to one or more environmental elements 120. For instanceand without limitation, environmental element 120 may include a smoothieand virtual avatar 116 may include a 3D bear. Virtual avatar 116 mayanimate to point at a smoothie of environmental element 120, showexpressions of joy, hunger, and the like. “Animation” as used in thisdisclosure is a process of moving one or more digital elements betweentwo or more positions. For instance and without limitation, a threedimensional bear may be animated from a sitting position to a standingposition. Animation may include generating two or more frames of adigital creation. For instance and without limitation, a digital bearmay animate from a sitting position to a standing position in 18 frames,at a framerate of 30 frames per second (fps). In some embodiments,apparatus 100 may generate virtual avatar 116 as a function of adetected geographic location, which may be determined through a locationsensor of sensing device 104. For instance and without limitation,environmental element 120 may include a food aisle of a grocery store,to which apparatus 100 may generate virtual avatar 116 to include a 3Drepresentation of a cartoon penguin. In some embodiments, animation maybe generated using stored rules for representation and/or modificationof static images. Stored rules may include, without limitation, rulesassociating an event as detected by sensing devices with an image and/orsound representing a reaction thereto by an animated character. Forinstance, a given event and/or input may be associated with an endpointimage, such as a “surprising” event with an image of an avatar with asurprised expression. Similar associations may be made betweenexpressions and/or poses indicating simulated reactions to pleasingevents, exciting events, annoying events, humorous events. Animatedsequences may be stored transitioning from a first pose representing afirst simulated emotional state and/or response and a second poserepresenting a second simulated emotional state and/or response.Alternatively or additionally, stored rules may indicate modificationsto images and/or for creation of transitional images that can be used togenerate an animated sequence of images from one simulated emotionalstate and/or response. Emotional states and/or responses may beregulated, without limitation, using a finite state machine directingtransition from one emotional state and/or response to another.

Still referring to FIG. 1 , stored rules, modified images, and/ormodifications to images may be entered and/or defined manually;alternatively or additionally, modified images, and/or modifications toimages may be generated using a machine-learning process that may betrained using manually generated images, modifications thereto, and/orsequences of such images and/or modifications, and/or manuallyidentified examples of such training examples in existing animatedand/or live-action stills and/or sequences. Machine-learning models mayinclude models trained to recognize features in a picture of acharacter, models trained to modify identified features and/or entireimages, models trained to identify and/or generate transitional imagestraversing from one static image to another static image in a sequence,or the like. Static images and/or modifications may be associated withresponses to particular inputs by additional models. Animation mayalternatively or additionally be accomplished using any method and/orcomponents as described in U.S. Nonprovisional application Ser. No.17/872,135, with attorney docket number 1325-003USU1, filed on Jul. 25,2022, and entitled “APPARATUS AND METHOD FOR GENERATING A VIRTUALAVATAR,” the entirety of which is incorporated herein by reference.

Still referring to FIG. 1 , in some embodiments, apparatus 100 maygenerate message 128. Message 128 may be generated as a function of acomparison of environmental element 120 to priority threshold 124. A“message” as used in this disclosure is a communication that relaysinformation. Message 128 may include, without limitation, text, audio,video, images, and the like. Message 128 may include environmental data.“Environmental data” as used in this disclosure is informationpertaining to a surrounding of an individual and/or device. Asurrounding may include, but is not limited to, a physical environment,digital environment, virtual reality environment, and the like.Environmental data may include, but is not limited to, temperatures,locations, and the like. In some embodiments, message 128 may begenerated as a function of user data. “User data” as used in thisdisclosure is information relating to an individual. User data mayinclude, but is not limited to, value quantifier amounts, demographicinformation, geographic information, interests, goals, habits, and thelike. In some embodiments, apparatus 100 may display message 128 throughAR view 112. Message 128 may be displayed through AR View 112 as havinga real world location and/or displayed stationary across a screen.Message 128 may include information about optical data 108 and/orenvironmental element 120. For instance and without limitation, message128 may inform a user of details of streets, shops, products, financeaccounts, and the like. Virtual avatar 116 may communicate message 128to a user through AR view 112. Virtual avatar 116 may be animated tomotion at a text box of message 128 and/or vocalize message 128, such asaudibly reading message 128.

Still referring to FIG. 1 , in some embodiments, apparatus 100 maygenerate a chatbot. A “chatbot” as used in this disclosure is a programthat communicates semantic information between an individual and acomputing device. “Semantic information” as used in this disclosure isdata pertaining to language. Semantic information may include, but isnot limited to, characters, symbols, phrases, sentences, fonts,capitalization, and the like. A chatbot may be communicative withapparatus 100. Apparatus 100 may be configured to operate a chatbot. Insome cases, AR view 112 may be local to apparatus 100. Alternatively oradditionally, in some cases, AR view 112 may be remote to apparatus 100and communicative with apparatus 100, by way of one or more networks,such as without limitation the internet. Alternatively or additionally,AR view 112 may communicate with apparatus 100 using telephonic devicesand networks, such as without limitation fax machines, short messageservice (SMS), or multimedia message service (MMS). In some embodiments,a chatbot of AR view 112 may communicate with apparatus 100 usingtext-based communication, for example without limitation using acharacter encoding protocol, such as American Standard for InformationInterchange (ASCII). Apparatus 100 may interface with a chatbot, by wayof at least a submission from a user, such as through AR view 112 to thechatbot, and a response from the chatbot to AR view 112. In many cases,one or both of submissions and responses may be text-basedcommunication. Alternatively or additionally, in some cases, one or bothof submissions and responses may be audio-based communication.

Continuing in reference to FIG. 1 , a submission once received byapparatus 100 operating a chatbot, may be processed by apparatus 100. Insome embodiments, apparatus 100 may processes a submission using one ormore of keyword recognition, pattern matching, and natural languageprocessing, machine learning models, and the like. In some embodiments,apparatus 100 may employ real-time learning with evolutionaryalgorithms. In some cases, apparatus 100 may retrieve a pre-preparedresponse from a storage component, based upon a submission.Alternatively or additionally, in some embodiments, apparatus 100 maycommunicate a response without first receiving a submission, which mayinitiate a conversation. A “response” as used in this disclosure is acommunication provided as a function of an inquiry. A response mayinclude, but is not limited to, answering a question and/or other formsof response. A “communication” as used in this disclosure is a sharingof information between two or more entities. For instance and withoutlimitation, a communication may include textual data, visual data, audiodata, and the like. In some cases, apparatus 100 may communicate aninquiry to AR view 112. Apparatus 100 may be configured to process ananswer to the inquiry in a following submission from AR view 112. Insome cases, an answer to an inquiry present within a submission from auser through AR view 112 may be used by apparatus 100 as an input toanother function, for example without limitation a feature or apreference input.

Still referring to FIG. 1 , virtual avatar 116 may be programmed tointeract with a user. Interaction may include communicating with a userthrough a chatbot as described above. In other embodiments, virtualavatar 116 may be programmed to respond to one or more voice inputsreceived through sensing device 104. Voice inputs may include, but arenot limited to, inquiries, commands, responses, and the like. Forinstance and without limitation, a voice input may include the phrase“Hi Bongo, what are my goals for today?” Virtual avatar 116 may respondto the voice input through speaking responses, displaying text boxesthrough AR view 112, and/or any combination thereof. Apparatus 100 maygenerate response for virtual avatar 116 through any language processingmodel, machine learning model, optimization model, and the like thereof,as described throughout this disclosure, without limitation.

Still referring to FIG. 1 , in some embodiments, apparatus 100 maygenerate a web search as a function of data received from sensing device104. A “web search” as used in this disclosure is a query through one ormore databases for information. A web search may search through theInternet. A web search may be generated to find data such as, withoutlimitation, object details, object value information, similar objectresults, and the like. For instance and without limitation, optical data108 may include data of an orange juice bottle. Apparatus 100 may,through any process described above, without limitation, identify textdata of the orange juice bottle. Apparatus 100 may generate a web searchusing one or more characters, words, symbols, and the like of the orangejuice bottle. Apparatus 100 may find object data such as, but notlimited to, producer information, nutritional information, valuequantifiers, similar objects, and the like. Apparatus 100 may use alanguage processing module, clustering algorithm, and/or other processas described above, without limitation. In some embodiments, apparatus100 may display text data of one or more objects through AR view 112,which may include static text boxes, moving text boxes, and the like.For instance and without limitation, apparatus 100 may generate AR view112 to display a text box including text data of an object such that thetext box appears to stay in a position above and/or adjacent to theobject relative to a movement of sensing device 104 and/or a user'smovement. In other embodiments, virtual avatar 116 may audiblycommunicate text data, web search results, and the like through one ormore speakers of apparatus 100. For instance and without limitation,virtual avatar 116 may speak the phrase “This banana looks like avaluable asset!”.

Still referring to FIG. 1 , in some embodiments, apparatus 100 maydetermine a timing window for virtual avatar 116 to interact with auser. A “timing window” as used in this disclosure is a temporal period.A timing window may include, but is not limited to, seconds, minutes,hours, and the like. Apparatus 100 may determine a timing window forvirtual avatar 116 to interact with a user as a function of, but notlimited to, time from last user inquiry, environmental elements 120, andthe like. For instance and without limitation, a user may walk to ageographically significant area, such as a kitchen. Apparatus 100 maydetermine that once a kitchen is within a 10 ft view of sensing device104 and/or a user, virtual avatar 116 has a timing window to communicatemessage 128 of about 15 seconds. In other embodiments, a timing windowmay be generated as a function of user input. A user may provide voiceinputs to sensing device 104, and apparatus 100 may determine a timingwindow of 3.5 seconds after a last voice input of a user for virtualavatar 116 to initiate an interaction.

Referring now to FIG. 2 , an illustration of an augmented reality view200 on display device 204 is presented. Display device 200 may include,but is not limited to, tablets, smartphones, laptops, monitors, and thelike. In some embodiments, AR view 200 may include interactive buttons208. An “interactive button” as used in this discourse is a graphic iconhaving an event handler programmed to respond to user input. User inputmay include, without limitation, tapping, swiping, clicking, and thelike. In some embodiments, interactive buttons 208 may be programmed tonavigate one or more elements of AR view 200. AR view 200 may include ARview 112 as described above with reference to FIG. 1 , withoutlimitation. In some embodiments, interactive buttons 208 may beprogrammed to generate one or more popup windows, remove and/or addvirtual icons to an AR view 200, and/or modify a heads up display (HUD)of AR view 200. For instance and without limitation, interactive buttons208 may be programmed to show and/or hide user objective box 212. A“user objective box” as used throughout this disclosure is a text boxdisplaying one or more goals of an individual. User objective box 212may include, but is not limited to, a rectangular banner, a pop-upwindow, and the like. In some embodiments, user objective box 212 mayinclude a transparency level. A transparency level may include, but isnot limited to, highly transparent, moderately transparent, opaque, andthe like. In some embodiments, user objective box 212 may be generatedfrom apparatus 100 as described above with reference to FIG. 1 , withoutlimitation. User objective box 212 may display one or more objectives.For instance and without limitation, objectives may include learning alanguage, retrieving an item, accumulating a value of objects, and thelike. User objective box 212 may include a percent completion of one ormore tasks. For instance and without limitation, user objective box 212may display three dots, where a full dot indicates a completion of atask and/or subtask. In some embodiments, AR view 200 may be modified asa function of received audio input. “Audio input” as used throughoutthis disclosure is data relating to soundwaves. Audio input may include,but is not limited to, vocalizations, notes, and/or other sounds. Forinstance and without limitation, a user may provide audio input of “whatis my current task?” to which AR view 200 may display one or more partsof user objective box 212 and/or other windows including user objectivedata. Audio input may be received through, but not limited to,speech-to-text, language processing modules, and/or other processes asdescribed throughout this disclosure, without limitation. In someembodiments, audio input may be categorized through an audio classifier.An audio classifier may be trained with training data correlating audioinput to one or more audio categories, such as, but not limited to,speech, vocalizations, singing, and the like. Training data may bereceived through user input, external computing devices, and/or previousiterations of processing.

Still referring to FIG. 2 , in some embodiments, AR view 200 may includevirtual icon 216. Virtual icon 216 may include virtual icons asdescribed above with reference to FIG. 1 . In some embodiments, virtualicon 216 may include, but is not limited to, a 2D shape, 3D shape, andthe like. In some embodiments, virtual icon 216 may include arepresentation of a real world object, such as, without limitation,coffee cups, wallets, books, smartphones, pets, and the like. Virtualicon 216 may include one or more indicators. Indicators may include, butare not limited to, arrows, directions, highlighted graphics, and thelike. For instance and without limitation, virtual icon 216 may includea highlighted border of a real world object, such as a backpack. In someembodiments, AR view 200 may display a plurality of virtual icons 216.In some embodiments, virtual icon 216 may be programmed to interact withuser input. A user may swipe, tap, and/or press a touch screen ofdisplay device 204, which may trigger an interaction with virtual icon216. User input of tapping on virtual icon 216 may generate a text boxincluding data of virtual icon 216. For instance and without limitation,virtual icon 216 may include a backpack. A user may tap on the backpack,which may generate a textbox presenting data of the contents of thebackpack, last interaction with the backpack, and the like. In otherembodiments, a user may rotate and/or shift virtual icon 216 acrossdisplay device 204 through user input, such as, but not limited to,swiping and/or other touch inputs.

Still referring to FIG. 2 , in some embodiments, AR view 200 may includevirtual avatar 220. Virtual avatar 220 may include virtual avatar 116 asdescribed above with reference to FIG. 1 . In some embodiments, virtualavatar 220 may be programmed to engage with a user. Engagement ofvirtual avatar 220 may include, but is not limited to, one or more bodymovements, facial expressions, motioning to objects of interest,generating text boxes, speaking and/or communicating noises, and thelike. A user may tap on virtual avatar 220 to initiate a conversationwith virtual avatar 220. Tapping on virtual avatar 220 may generate atextbox, prompt voice input, and the like. In some embodiments, virtualavatar 220 may be programmed to receive communication from a user,determine a response as a function of the communication, and communicatethe message to the user as a function of the response. A “communication”as used throughout this disclosure is a message conveyed between two ormore entities. Communications may include, but are not limited to,textual conversations, speech, visual data, and/or other forms ofcommunication. In some embodiments, communications may be received fromvisual input, such as, but not limited to, selfie cameras, othercameras, and/or other optical sensors. In some embodiments, user inputsmay include captures of QR, SKU, RFID codes, and the like. In someembodiments, a response of virtual avatar 220 may be generated through achatbot and displayed through AR view 200. In some embodiments, virtualavatar 220 may be programmed to communicate one or more messages, asdescribed above with reference to FIG. 1 and below with reference toFIG. 3 , without limitation.

Still referring to FIG. 2 , in some embodiments, AR view 200 may includeinformation modifiers 224. An “information modifier” as used in thisdisclosure is a graphical element programmed to change a portion of adisplay. A user may click on, touch, and/or swipe information modifiers224. In some embodiments, information modifiers 224 may be displayedalongside a bottom portion of display device 204. In other embodiments,information modifiers 224 may be displayed on a side and/or top portionof display device 204. Information modifiers 224 may include a bannerhaving one or more divided portions. For instance and withoutlimitation, information modifiers 224 may include a rectangular bannerhaving four separate smaller rectangles positioned within therectangular banner. In some embodiments, information modifiers 224 maygenerate one or more menu screens, popup windows, and/or other textboxes. Menu screens may include, but are not limited to, avatar creationmenus, objective menus, user data menus, AR view settings menus, helpmenus, and the like. As a non-limiting example, information modifier 224may be programmed to generate a user objective window, which may scrollup from a bottom portion of display device 200 upon receiving userinput. A user objective window may display an overall objective, tasksof an objective, percent completion of one or more objectives,categories of objectives, and the like. In some embodiments, informationmodifier 224 may generate an avatar creation menu. An avatar creationmenu may be as described above with reference to FIG. 1 .

Referring now to FIG. 3 , another illustration of an augmented realityview 300 is presented. AR view 300 may display user objective box 308.User objective box 308 may include a user objective box as describedabove. AR view 300 may display virtual avatar 324. Virtual avatar 324may be as described above. AR view 300 may display real world object316. A “real world object” as used in this disclosure is an item and/orentity having a physical form. Real world object 316 may include, but isnot limited to, shoes, backpacks, clothes, food items, signs, and thelike. In some embodiments, AR view 300 may display one or more virtualicons corresponding to real world object 316. For instance and withoutlimitation, AR view 300 may display a highlighted border around realworld object 316. In some embodiments, AR view 300 may include key 312.Key 312 may include one or more icons representing one or more objectsof interest. For instance and without limitation, key 312 may include aflag icon, a smiley face icon, and a running icon, representing acheckpoint in an objective, a happiness of a virtual avatar, and anidentified exercise activity of an environment, respectively.

Still referring to FIG. 3 , in some embodiments, virtual avatar 324 maybe programmed to communicate message 304 to a user. Message 304 may becommunicated through audio output, visual output, and the like. Audiooutput may include speech, sounds, notification, and the like. In someembodiments, virtual avatar 324 may speak message 304 to a user. Inother embodiments, virtual avatar 324 may generate a text box includingmessage 304. Message 304 may include information of one or moreenvironmental elements, such as, without limitation, objects, locations,and the like. In some embodiments, message 304 may be associated with auser objective. A user objective may include, but is not limited to,learning a language, completing a chore, interacting with one or morevirtual icons, and the like. In some embodiments, a user objective mayinclude maintaining value quantifiers. A “value quantifier” as used inthis disclosure is a number representing a quantity of value. A valuequantifier may include, but is not limited to, currency and/or otheritems having a value. A user objective of maintaining value quantifiersmay include acquiring one or more real world items while dispersing aslittle value quantifiers as possible. In other embodiments, a userobjective of maintaining value quantifiers may include storing as manyvalue quantifiers as possible. In some embodiments, a user objective ofmaintaining value quantifiers may include distributing one or more valuequantifiers across one or more distribution categories. A “distributioncategory” as used in this disclosure is a classification of a movementof one or more value quantifiers. Distribution categories may include,but are not limited to, storing, allotting, and/or sharing. In someembodiments, AR view 300 may display one or more distribution categoriesand/or one or more sums of value quantifiers. AR view 300 may displayvirtual icons representing value quantifiers. In some embodiments,virtual avatar 324 may provide guidance to a user having an objective ofmaintaining value quantifiers. AR view 300 may display one or morevirtual icons representing one or more objects of interest that may beacquirable. AR view 300 may display data of one or more objects ofinterest, such as, but not limited to, values, values at otherproviders, online values, ingredients, and the like. In someembodiments, virtual avatar 324 may provide message 304, which mayinclude data of one or more objects of interest. A user may select oneor more input icons 320. An “input icon” as used in this disclosure is agraphic element denoting a method of communicating data. Input icons 320may include, but are not limited to, microphones, chat boxes, speakers,and the like. Input icons 320 may prompt virtual avatar 324 to receiveinformation from a user. For instance and without limitation, a user mayselect a microphone icon of input icons 320. A microphone icon mayprompt virtual avatar 324 to “listen” for audio input of a user. AR view300 may display an enlarged microphone icon which may indicate a timingwindow for a user to speak. Similarly, a user may select a chat box iconof input icons 320, which may prompt AR view 300 to display one or morechat boxes. A user may enter text information into one or more chatboxes of AR view 300. Virtual avatar 324 may respond to data receivedthrough chat box input by speaking, providing textual responses, and thelike.

Still referring to FIG. 3 , in some embodiments, apparatus 100 maygenerate a web search to provide responses for virtual avatar 324 tocommunicate to a user, as described above with reference to FIG. 1 . Forinstance and without limitation, a user may ask “what's the cheapestcoffee around me?” to which apparatus 100 may generate a web searchand/or other query function to pull data relating to coffee values,coffee provider locations, coffee reviews, and the like. In someembodiments, virtual avatar 324 may provide message 304 as a function ofuser data. For instance and without limitation, user data may includeone or more trends of dispersion of one or more value quantifiers, suchas 40 value quantifiers being traded for coffee within a week. Realworld object 316 may include coffee objects. Apparatus 100 may comparereal world object 316 to user data of trading 40 value quantifiers forcoffee within a seven day time span and may display this informationthrough a virtual icon and/or message 304. Message 304 may include asummate total of value quantifiers traded within a time period,categories of objects of interest value quantifiers were traded for, andthe like. For instance and without limitation, message 304 maycommunicate to a user that 10% of all value quantifiers were tradedwithin a week for sandwiches, 40% of all value quantifiers were tradedwithin a week for travel, and/or 50% of all value quantifiers werestored. In some embodiments, message 304 may include one or morealternative choices for a user. Alternative choices may include, but arenot limited to, substitute objects of interest, substitute exercises,substitute language lesson modules, and the like. As a non-limitingexample, a user may want to trade 30 value quantifiers for an article ofclothing. Message 304 may suggest an alternative choice of an article ofclothing valued at 15 value quantifiers, storing the 30 valuequantifiers, and/or other possible choices. Apparatus 100 may determinealternative choices using any process as described throughout thisdisclosure, such as, without limitation, machine learning models,classifiers, objective functions, clustering algorithms, and the like.

Referring now to FIG. 4 , an exemplary embodiment of a machine-learningmodule 400 that may perform one or more machine-learning processes asdescribed in this disclosure is illustrated. Machine-learning module mayperform determinations, classification, and/or analysis steps, methods,processes, or the like as described in this disclosure using machinelearning processes. A “machine learning process,” as used in thisdisclosure, is a process that automatedly uses training data 404 togenerate an algorithm that will be performed by a computingdevice/module to produce outputs 408 given data provided as inputs 412;this is in contrast to a non-machine learning software program where thecommands to be executed are determined in advance by a user and writtenin a programming language.

Still referring to FIG. 4 , “training data,” as used herein, is datacontaining correlations that a machine-learning process may use to modelrelationships between two or more categories of data elements. Forinstance, and without limitation, training data 404 may include aplurality of data entries, each entry representing a set of dataelements that were recorded, received, and/or generated together; dataelements may be correlated by shared existence in a given data entry, byproximity in a given data entry, or the like. Multiple data entries intraining data 404 may evince one or more trends in correlations betweencategories of data elements; for instance, and without limitation, ahigher value of a first data element belonging to a first category ofdata element may tend to correlate to a higher value of a second dataelement belonging to a second category of data element, indicating apossible proportional or other mathematical relationship linking valuesbelonging to the two categories. Multiple categories of data elementsmay be related in training data 404 according to various correlations;correlations may indicate causative and/or predictive links betweencategories of data elements, which may be modeled as relationships suchas mathematical relationships by machine-learning processes as describedin further detail below. Training data 404 may be formatted and/ororganized by categories of data elements, for instance by associatingdata elements with one or more descriptors corresponding to categoriesof data elements. As a non-limiting example, training data 404 mayinclude data entered in standardized forms by persons or processes, suchthat entry of a given data element in a given field in a form may bemapped to one or more descriptors of categories. Elements in trainingdata 404 may be linked to descriptors of categories by tags, tokens, orother data elements; for instance, and without limitation, training data404 may be provided in fixed-length formats, formats linking positionsof data to categories such as comma-separated value (CSV) formats and/orself-describing formats such as extensible markup language (XML),JavaScript Object Notation (JSON), or the like, enabling processes ordevices to detect categories of data.

Alternatively or additionally, and continuing to refer to FIG. 4 ,training data 404 may include one or more elements that are notcategorized; that is, training data 404 may not be formatted or containdescriptors for some elements of data. Machine-learning algorithmsand/or other processes may sort training data 404 according to one ormore categorizations using, for instance, natural language processingalgorithms, tokenization, detection of correlated values in raw data andthe like; categories may be generated using correlation and/or otherprocessing algorithms. As a non-limiting example, in a corpus of text,phrases making up a number “n” of compound words, such as nouns modifiedby other nouns, may be identified according to a statisticallysignificant prevalence of n-grams containing such words in a particularorder; such an n-gram may be categorized as an element of language suchas a “word” to be tracked similarly to single words, generating a newcategory as a result of statistical analysis. Similarly, in a data entryincluding some textual data, a person's name may be identified byreference to a list, dictionary, or other compendium of terms,permitting ad-hoc categorization by machine-learning algorithms, and/orautomated association of data in the data entry with descriptors or intoa given format. The ability to categorize data entries automatedly mayenable the same training data 404 to be made applicable for two or moredistinct machine-learning algorithms as described in further detailbelow. Training data 404 used by machine-learning module 400 maycorrelate any input data as described in this disclosure to any outputdata as described in this disclosure. As a non-limiting illustrativeexample inputs may include optical data and output may includeenvironmental elements.

Further referring to FIG. 4 , training data may be filtered, sorted,and/or selected using one or more supervised and/or unsupervisedmachine-learning processes and/or models as described in further detailbelow; such models may include without limitation a training dataclassifier 416. Training data classifier 416 may include a “classifier,”which as used in this disclosure is a machine-learning model as definedbelow, such as a mathematical model, neural net, or program generated bya machine learning algorithm known as a “classification algorithm,” asdescribed in further detail below, that sorts inputs into categories orbins of data, outputting the categories or bins of data and/or labelsassociated therewith. A classifier may be configured to output at leasta datum that labels or otherwise identifies a set of data that areclustered together, found to be close under a distance metric asdescribed below, or the like. Machine-learning module 400 may generate aclassifier using a classification algorithm, defined as a processeswhereby a computing device and/or any module and/or component operatingthereon derives a classifier from training data 404. Classification maybe performed using, without limitation, linear classifiers such aswithout limitation logistic regression and/or naive Bayes classifiers,nearest neighbor classifiers such as k-nearest neighbors classifiers,support vector machines, least squares support vector machines, fisher'slinear discriminant, quadratic classifiers, decision trees, boostedtrees, random forest classifiers, learning vector quantization, and/orneural network-based classifiers. As a non-limiting example, trainingdata classifier 416 may classify elements of training data toenvironmental element categories, objects of interest, and the like.

Still referring to FIG. 4 , machine-learning module 400 may beconfigured to perform a lazy-learning process 420 and/or protocol, whichmay alternatively be referred to as a “lazy loading” or“call-when-needed” process and/or protocol, may be a process wherebymachine learning is conducted upon receipt of an input to be convertedto an output, by combining the input and training set to derive thealgorithm to be used to produce the output on demand. For instance, aninitial set of simulations may be performed to cover an initialheuristic and/or “first guess” at an output and/or relationship. As anon-limiting example, an initial heuristic may include a ranking ofassociations between inputs and elements of training data 404. Heuristicmay include selecting some number of highest-ranking associations and/ortraining data 404 elements. Lazy learning may implement any suitablelazy learning algorithm, including without limitation a K-nearestneighbors algorithm, a lazy naïve Bayes algorithm, or the like; personsskilled in the art, upon reviewing the entirety of this disclosure, willbe aware of various lazy-learning algorithms that may be applied togenerate outputs as described in this disclosure, including withoutlimitation lazy learning applications of machine-learning algorithms asdescribed in further detail below.

Alternatively or additionally, and with continued reference to FIG. 4 ,machine-learning processes as described in this disclosure may be usedto generate machine-learning models 424. A “machine-learning model,” asused in this disclosure, is a mathematical and/or algorithmicrepresentation of a relationship between inputs and outputs, asgenerated using any machine-learning process including withoutlimitation any process as described above, and stored in memory; aninput is submitted to a machine-learning model 424 once created, whichgenerates an output based on the relationship that was derived. Forinstance, and without limitation, a linear regression model, generatedusing a linear regression algorithm, may compute a linear combination ofinput data using coefficients derived during machine-learning processesto calculate an output datum. As a further non-limiting example, amachine-learning model 424 may be generated by creating an artificialneural network, such as a convolutional neural network comprising aninput layer of nodes, one or more intermediate layers, and an outputlayer of nodes. Connections between nodes may be created via the processof “training” the network, in which elements from a training data 404set are applied to the input nodes, a suitable training algorithm (suchas Levenberg-Marquardt, conjugate gradient, simulated annealing, orother algorithms) is then used to adjust the connections and weightsbetween nodes in adjacent layers of the neural network to produce thedesired values at the output nodes. This process is sometimes referredto as deep learning.

Still referring to FIG. 4 , machine-learning algorithms may include atleast a supervised machine-learning process 428. At least a supervisedmachine-learning process 428, as defined herein, include algorithms thatreceive a training set relating a number of inputs to a number ofoutputs, and seek to find one or more mathematical relations relatinginputs to outputs, where each of the one or more mathematical relationsis optimal according to some criterion specified to the algorithm usingsome scoring function. For instance, a supervised learning algorithm mayinclude optical data as described above as inputs, environmentalelements as outputs, and a scoring function representing a desired formof relationship to be detected between inputs and outputs; scoringfunction may, for instance, seek to maximize the probability that agiven input and/or combination of elements inputs is associated with agiven output to minimize the probability that a given input is notassociated with a given output. Scoring function may be expressed as arisk function representing an “expected loss” of an algorithm relatinginputs to outputs, where loss is computed as an error functionrepresenting a degree to which a prediction generated by the relation isincorrect when compared to a given input-output pair provided intraining data 404. Persons skilled in the art, upon reviewing theentirety of this disclosure, will be aware of various possiblevariations of at least a supervised machine-learning process 428 thatmay be used to determine relation between inputs and outputs. Supervisedmachine-learning processes may include classification algorithms asdefined above.

Further referring to FIG. 4 , machine learning processes may include atleast an unsupervised machine-learning processes 432. An unsupervisedmachine-learning process, as used herein, is a process that derivesinferences in datasets without regard to labels; as a result, anunsupervised machine-learning process may be free to discover anystructure, relationship, and/or correlation provided in the data.Unsupervised processes may not require a response variable; unsupervisedprocesses may be used to find interesting patterns and/or inferencesbetween variables, to determine a degree of correlation between two ormore variables, or the like.

Still referring to FIG. 4 , machine-learning module 400 may be designedand configured to create a machine-learning model 424 using techniquesfor development of linear regression models. Linear regression modelsmay include ordinary least squares regression, which aims to minimizethe square of the difference between predicted outcomes and actualoutcomes according to an appropriate norm for measuring such adifference (e.g. a vector-space distance norm); coefficients of theresulting linear equation may be modified to improve minimization.Linear regression models may include ridge regression methods, where thefunction to be minimized includes the least-squares function plus termmultiplying the square of each coefficient by a scalar amount topenalize large coefficients. Linear regression models may include leastabsolute shrinkage and selection operator (LASSO) models, in which ridgeregression is combined with multiplying the least-squares term by afactor of 1 divided by double the number of samples. Linear regressionmodels may include a multi-task lasso model wherein the norm applied inthe least-squares term of the lasso model is the Frobenius normamounting to the square root of the sum of squares of all terms. Linearregression models may include the elastic net model, a multi-taskelastic net model, a least angle regression model, a LARS lasso model,an orthogonal matching pursuit model, a Bayesian regression model, alogistic regression model, a stochastic gradient descent model, aperceptron model, a passive aggressive algorithm, a robustnessregression model, a Huber regression model, or any other suitable modelthat may occur to persons skilled in the art upon reviewing the entiretyof this disclosure. Linear regression models may be generalized in anembodiment to polynomial regression models, whereby a polynomialequation (e.g. a quadratic, cubic or higher-order equation) providing abest predicted output/actual output fit is sought; similar methods tothose described above may be applied to minimize error functions, aswill be apparent to persons skilled in the art upon reviewing theentirety of this disclosure.

Continuing to refer to FIG. 4 , machine-learning algorithms may include,without limitation, linear discriminant analysis. Machine-learningalgorithm may include quadratic discriminate analysis. Machine-learningalgorithms may include kernel ridge regression. Machine-learningalgorithms may include support vector machines, including withoutlimitation support vector classification-based regression processes.Machine-learning algorithms may include stochastic gradient descentalgorithms, including classification and regression algorithms based onstochastic gradient descent. Machine-learning algorithms may includenearest neighbors algorithms. Machine-learning algorithms may includevarious forms of latent space regularization such as variationalregularization. Machine-learning algorithms may include Gaussianprocesses such as Gaussian Process Regression. Machine-learningalgorithms may include cross-decomposition algorithms, including partialleast squares and/or canonical correlation analysis. Machine-learningalgorithms may include naïve Bayes methods. Machine-learning algorithmsmay include algorithms based on decision trees, such as decision treeclassification or regression algorithms. Machine-learning algorithms mayinclude ensemble methods such as bagging meta-estimator, forest ofrandomized tress, AdaBoost, gradient tree boosting, and/or votingclassifier methods. Machine-learning algorithms may include neural netalgorithms, including convolutional neural net processes.

Referring now to FIG. 5 , method 500 of generating an augment realityview is presented. At step 505, method 500 includes receiving opticaldata. This step may be implemented as described above with reference toFIGS. 1-4 , without limitation.

Still referring to FIG. 5 , at step 510, method 500 includes generatingan augmented reality view. This step may be implemented as describedabove with reference to FIGS. 1-4 , without limitation.

Still referring to FIG. 5 , at step 515, method 500 includes analyzingat least an environmental element. This step may be implemented asdescribed above with reference to FIGS. 1-4 , without limitation.

Still referring to FIG. 5 , at step 520, method 500 includes comparingat least an environmental element. This step may be implemented asdescribed above with reference to FIGS. 1-4 , without limitation.

Still referring to FIG. 5 , at step 525, method 500 includes displayingat least a message. This step may be implemented as described above withreference to FIGS. 1-4 , without limitation.

It is to be noted that any one or more of the aspects and embodimentsdescribed herein may be conveniently implemented using one or moremachines (e.g., one or more computing devices that are utilized as auser computing device for an electronic document, one or more serverdevices, such as a document server, etc.) programmed according to theteachings of the present specification, as will be apparent to those ofordinary skill in the computer art. Appropriate software coding canreadily be prepared by skilled programmers based on the teachings of thepresent disclosure, as will be apparent to those of ordinary skill inthe software art. Aspects and implementations discussed above employingsoftware and/or software modules may also include appropriate hardwarefor assisting in the implementation of the machine executableinstructions of the software and/or software module.

Such software may be a computer program product that employs amachine-readable storage medium. A machine-readable storage medium maybe any medium that is capable of storing and/or encoding a sequence ofinstructions for execution by a machine (e.g., a computing device) andthat causes the machine to perform any one of the methodologies and/orembodiments described herein. Examples of a machine-readable storagemedium include, but are not limited to, a magnetic disk, an optical disc(e.g., CD, CD-R, DVD, DVD-R, etc.), a magneto-optical disk, a read-onlymemory “ROM” device, a random access memory “RAM” device, a magneticcard, an optical card, a solid-state memory device, an EPROM, an EEPROM,and any combinations thereof. A machine-readable medium, as used herein,is intended to include a single medium as well as a collection ofphysically separate media, such as, for example, a collection of compactdiscs or one or more hard disk drives in combination with a computermemory. As used herein, a machine-readable storage medium does notinclude transitory forms of signal transmission.

Such software may also include information (e.g., data) carried as adata signal on a data carrier, such as a carrier wave. For example,machine-executable information may be included as a data-carrying signalembodied in a data carrier in which the signal encodes a sequence ofinstruction, or portion thereof, for execution by a machine (e.g., acomputing device) and any related information (e.g., data structures anddata) that causes the machine to perform any one of the methodologiesand/or embodiments described herein.

Examples of a computing device include, but are not limited to, anelectronic book reading device, a computer workstation, a terminalcomputer, a server computer, a handheld device (e.g., a tablet computer,a smartphone, etc.), a web appliance, a network router, a networkswitch, a network bridge, any machine capable of executing a sequence ofinstructions that specify an action to be taken by that machine, and anycombinations thereof. In one example, a computing device may includeand/or be included in a kiosk.

FIG. 6 shows a diagrammatic representation of one embodiment of acomputing device in the exemplary form of a computer system 600 withinwhich a set of instructions for causing a control system to perform anyone or more of the aspects and/or methodologies of the presentdisclosure may be executed. It is also contemplated that multiplecomputing devices may be utilized to implement a specially configuredset of instructions for causing one or more of the devices to performany one or more of the aspects and/or methodologies of the presentdisclosure. Computer system 600 includes a processor 604 and a memory608 that communicate with each other, and with other components, via abus 612. Bus 612 may include any of several types of bus structuresincluding, but not limited to, a memory bus, a memory controller, aperipheral bus, a local bus, and any combinations thereof, using any ofa variety of bus architectures.

Still referring to FIG. 6 , processor 604 may include any suitableprocessor, such as without limitation a processor incorporating logicalcircuitry for performing arithmetic and logical operations, such as anarithmetic and logic unit (ALU), which may be regulated with a statemachine and directed by operational inputs from memory and/or sensors;processor 604 may be organized according to Von Neumann and/or Harvardarchitecture as a non-limiting example. Processor 604 may include,incorporate, and/or be incorporated in, without limitation, amicrocontroller, microprocessor, digital signal processor (DSP), FieldProgrammable Gate Array (FPGA), Complex Programmable Logic Device(CPLD), Graphical Processing Unit (GPU), general purpose GPU, TensorProcessing Unit (TPU), analog or mixed signal processor, TrustedPlatform Module (TPM), a floating point unit (FPU), and/or system on achip (SoC).

Still referring to FIG. 6 , memory 608 may include various components(e.g., machine-readable media) including, but not limited to, arandom-access memory component, a read only component, and anycombinations thereof. In one example, a basic input/output system 616(BIOS), including basic routines that help to transfer informationbetween elements within computer system 600, such as during start-up,may be stored in memory 608. Memory 608 may also include (e.g., storedon one or more machine-readable media) instructions (e.g., software) 620embodying any one or more of the aspects and/or methodologies of thepresent disclosure. In another example, memory 608 may further includeany number of program modules including, but not limited to, anoperating system, one or more application programs, other programmodules, program data, and any combinations thereof.

Still referring to FIG. 6 , computer system 600 may also include astorage device 624. Examples of a storage device (e.g., storage device624) include, but are not limited to, a hard disk drive, a magnetic diskdrive, an optical disc drive in combination with an optical medium, asolid-state memory device, and any combinations thereof. Storage device624 may be connected to bus 612 by an appropriate interface (not shown).Example interfaces include, but are not limited to, SCSI, advancedtechnology attachment (ATA), serial ATA, universal serial bus (USB),IEEE 1394 (FIREWIRE), and any combinations thereof. In one example,storage device 624 (or one or more components thereof) may be removablyinterfaced with computer system 600 (e.g., via an external portconnector (not shown)). Particularly, storage device 624 and anassociated machine-readable medium 628 may provide nonvolatile and/orvolatile storage of machine-readable instructions, data structures,program modules, and/or other data for computer system 600. In oneexample, software 620 may reside, completely or partially, withinmachine-readable medium 628. In another example, software 620 mayreside, completely or partially, within processor 604.

Still referring to FIG. 6 , computer system 600 may also include aninput device 632. In one example, a user of computer system 600 mayenter commands and/or other information into computer system 600 viainput device 632. Examples of an input device 632 include, but are notlimited to, an alpha-numeric input device (e.g., a keyboard), a pointingdevice, a joystick, a gamepad, an audio input device (e.g., amicrophone, a voice response system, etc.), a cursor control device(e.g., a mouse), a touchpad, an optical scanner, a video capture device(e.g., a still camera, a video camera), a touchscreen, and anycombinations thereof. Input device 632 may be interfaced to bus 612 viaany of a variety of interfaces (not shown) including, but not limitedto, a serial interface, a parallel interface, a game port, a USBinterface, a FIREWIRE interface, a direct interface to bus 612, and anycombinations thereof. Input device 632 may include a touch screeninterface that may be a part of or separate from display 636, discussedfurther below. Input device 632 may be utilized as a user selectiondevice for selecting one or more graphical representations in agraphical interface as described above.

Still referring to FIG. 6 , a user may also input commands and/or otherinformation to computer system 600 via storage device 624 (e.g., aremovable disk drive, a flash drive, etc.) and/or network interfacedevice 640. A network interface device, such as network interface device640, may be utilized for connecting computer system 600 to one or moreof a variety of networks, such as network 644, and one or more remotedevices 648 connected thereto. Examples of a network interface deviceinclude, but are not limited to, a network interface card (e.g., amobile network interface card, a LAN card), a modem, and any combinationthereof. Examples of a network include, but are not limited to, a widearea network (e.g., the Internet, an enterprise network), a local areanetwork (e.g., a network associated with an office, a building, a campusor other relatively small geographic space), a telephone network, a datanetwork associated with a telephone/voice provider (e.g., a mobilecommunications provider data and/or voice network), a direct connectionbetween two computing devices, and any combinations thereof. A network,such as network 644, may employ a wired and/or a wireless mode ofcommunication. In general, any network topology may be used. Information(e.g., data, software 620, etc.) may be communicated to and/or fromcomputer system 600 via network interface device 640.

Still referring to FIG. 6 , computer system 600 may further include avideo display adapter 652 for communicating a displayable image to adisplay device, such as display device 636. Examples of a display deviceinclude, but are not limited to, a liquid crystal display (LCD), acathode ray tube (CRT), a plasma display, a light emitting diode (LED)display, and any combinations thereof. Display adapter 652 and displaydevice 636 may be utilized in combination with processor 604 to providegraphical representations of aspects of the present disclosure. Inaddition to a display device, computer system 600 may include one ormore other peripheral output devices including, but not limited to, anaudio speaker, a printer, and any combinations thereof. Such peripheraloutput devices may be connected to bus 612 via a peripheral interface656. Examples of a peripheral interface include, but are not limited to,a serial port, a USB connection, a FIREWIRE connection, a parallelconnection, and any combinations thereof.

The foregoing has been a detailed description of illustrativeembodiments of the invention. Various modifications and additions can bemade without departing from the spirit and scope of this invention.Features of each of the various embodiments described above may becombined with features of other described embodiments as appropriate inorder to provide a multiplicity of feature combinations in associatednew embodiments. Furthermore, while the foregoing describes a number ofseparate embodiments, what has been described herein is merelyillustrative of the application of the principles of the presentinvention. Additionally, although particular methods herein may beillustrated and/or described as being performed in a specific order, theordering is highly variable within ordinary skill to achieve methods,systems, and software according to the present disclosure. Accordingly,this description is meant to be taken only by way of example, and not tootherwise limit the scope of this invention.

Exemplary embodiments have been disclosed above and illustrated in theaccompanying drawings. It will be understood by those skilled in the artthat various changes, omissions and additions may be made to that whichis specifically disclosed herein without departing from the spirit andscope of the present invention.

What is claimed is:
 1. An apparatus for generating an augmented reality,comprising: at least a processor and a memory communicatively connectedto the at least a processor, the memory containing instructionsconfiguring the at least a processor to: receive optical data through asensing device in electronic communication with the at least aprocessor; generate an augmented reality view through a display deviceof the at least a processor as a function of the optical data, whereinthe augmented reality view comprises a virtual avatar; analyze at leastan environmental element of the optical data, wherein analyzing the atleast an environmental element comprises: registering objects withinoptical data using a machine vision system; determining the at least anenvironmental element as a function of the registration; and classifyingthe at least an environmental element to an environmental category;compare the at least an environmental element to a priority threshold;and display at least a message through the display device of the atleast a processor as a function of the comparison.
 2. The apparatus ofclaim 1, wherein the memory contains instructions further configuringthe at least a processor to generate the priority threshold as afunction of an object of interest.
 3. The apparatus of claim 1, whereincomparing the at least an environmental element to a priority thresholdcomprises generating an objective function to compare the environmentalelement to the priority threshold.
 4. The apparatus of claim 1, whereinthe memory contains instructions further configuring the at least aprocessor to generate the virtual avatar as a function of user input. 5.The apparatus of claim 1, wherein the memory contains instructionsfurther configuring the at least a processor to generate the virtualavatar as a function of a geographic location of a user.
 6. Theapparatus of claim 1, wherein the optical data comprises text data. 7.The apparatus of claim 6, wherein the memory further containsinstructions configuring the processor to extrapolate the text data fromthe optical data using a language processing module.
 8. The apparatus ofclaim 1, wherein the virtual avatar is configured to: receive acommunication from a user; determine a response as a function of thecommunication; and communicate the at least a message to the user as afunction of the response.
 9. The apparatus of claim 1, whereinclassifying the at least an environmental element to an environmentalcategory comprises classifying the at least an environmental element toan environmental category using an environmental classifier, wherein theenvironmental classifier is trained using training data correlatingenvironmental elements to one or more environmental categories.
 10. Theapparatus of claim 1, wherein memory contains instructions furtherconfiguring the at least a processor to generate the at least a messageas a function of user data.
 11. A method of generating an augmentedreality using a computing device, comprising: receiving optical datathrough a sensing device in electronic communication with the at least aprocessor; generating an augmented reality view through a display deviceas a function of the optical data, wherein the augmented reality viewcomprises a virtual avatar; analyzing at least an environmental elementof the optical data, wherein analyzing the at least an environmentalelement comprises: registering objects within optical data using amachine vision system; determining the at least an environmental elementas a function of the registration; and classifying the at least anenvironmental element to an environmental category; comparing the atleast an environmental element to a priority threshold; and displayingat least a message through the display device as a function of thecomparison.
 12. The method of claim 11, the method further comprisinggenerating the priority threshold as a function of an object ofinterest.
 13. The method of claim 11, wherein comparing the at least anenvironmental element to a priority threshold comprises generating anobjective function to compare the environmental element to the prioritythreshold.
 14. The method of claim 11, the method further comprisinggenerating the virtual avatar as a function of user input.
 15. Themethod of claim 11, the method further comprising generating the virtualavatar as a function of a geographic location of a user.
 16. The methodof claim 11, wherein the optical data comprises text data.
 17. Themethod of claim 16, the method further comprising extrapolating the textdata from the optical data using a language processing module.
 18. Themethod of claim 11, the method further comprising: receiving, using thevirtual avatar, a communication from a user; determining, using thecomputing device, a response as a function of the communication; andcommunicating, using the virtual avatar, the at least a message to theuser as a function of the response.
 19. The method of claim 11, whereinclassifying the at least an environmental element to an environmentalcategory comprises classifying the at least an environmental element toan environmental category using an environmental classifier, wherein theenvironmental classifier is trained using training data correlatingenvironmental elements to one or more environmental categories.
 20. Themethod of claim 11, wherein displaying the at least a message comprisesgenerating the at least a message as a function of user data.